Dynamic quick response code branding

ABSTRACT

In an approach to managing a quick response code branding device and management of a quick response code branding device, one or more computer processors receive one or more quick response code configuration parameters. The one or more computer processors determine one or more program instructions corresponding to the one or more quick response code configuration parameters based on one or more task-specific factors. The one or more computer processors send the one or more program instructions to a quick response code branding device. The one or more computer processors receive quick response code branding device status data. The one or more computer processors determine whether the quick response code branding device status data meets the one or more quick response code configuration parameters.

BACKGROUND OF THE INVENTION

The present invention relates generally to the field of matrix barcodingand more particularly to quick response code branding.

A quick response code is a two-dimensional barcode consisting of blackand white modules arranged in either a square or rectangular matrix. Theinformation to be encoded can be text or numeric data. The length of theencoded data depends on the number of cells in the matrix. Quickresponse code symbols are usually square in shape and composed of squarecells which represent bits. Depending on the coding used, a “light” cellrepresents a 0 and a “dark” cell is a 1, or vice versa. Conventionalquick response codes are composed of two solid adjacent borders in an“L” shape called the finder pattern and two borders opposite theadjacent borders consisting of alternating dark and light cells ormodules called the timing pattern. Within these borders are rows andcolumns of cells encoding information. The finder pattern is used tolocate and orient the symbol while the timing pattern provides a countof the number of rows and columns in the symbol. As more data is encodedin the symbol, the number of cells in rows and columns increases. Theresulting symbol is unique.

Quick response codes storing addresses may appear in or on almost anyobject about which users might want information. Users with a deviceequipped with a camera or scanner equipped with a reader application canscan the image of the quick response code to execute programinstructions to reveal information, such as a display text, contactinformation, connection to a wireless network, or a web page. This actof linking from physical world objects is referred to as hard linking orobject hyperlinking. Quick response codes also may link to a location totrack the geolocation of the scanned code.

SUMMARY

Embodiments of the present invention disclose an apparatus, a method,and a computer program product for a quick response code branding deviceand management of a quick response code branding device. The methodincludes one or more computer processors receiving one or more quickresponse code configuration parameters. The one or more computerprocessors determine one or more program instructions corresponding tothe one or more quick response code configuration parameters based onone or more task-specific factors. The one or more computer processorssend the one or more program instructions to a quick response codebranding device. The one or more computer processors receive quickresponse code branding device status data. The one or more computerprocessors determine whether the quick response code branding devicestatus data meets the one or more quick response code configurationparameters.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts a quick response bit head assembly, in accordance with anembodiment of the present invention;

FIG. 2 depicts an actuator grid assembly associated with the quickresponse bit head assembly, in accordance with one embodiment of thepresent invention;

FIG. 3A depicts an actuator assembly, in accordance with one embodimentof the present invention;

FIG. 3B depicts a heating mechanism contained in an actuator assembly,in accordance with one embodiment of the present invention;

FIG. 3C depicts an electromagnetic actuator assembly, in accordance withone embodiment of the present invention;

FIG. 4A depicts an inductive heat branding element, in accordance withone embodiment of the present invention;

FIG. 4B depicts a liquid nitrogen freeze branding element, in accordancewith one embodiment of the present invention;

FIG. 4C depicts a resistive heat branding element, in accordance withone embodiment of the present invention;

FIG. 5 is a functional block diagram illustrating a distributed dataprocessing environment, in accordance with an embodiment of the presentinvention;

FIG. 6 is a flowchart depicting operational steps of a dynamic quickresponse code configuration program, on a server computer within thedistributed data processing environment of FIG. 1, for determining andexecuting branding parameters, in accordance with an embodiment of thepresent invention; and

FIG. 7 depicts a block diagram of components of the server computerexecuting the dynamic quick response code configuration program withinthe distributed data processing environment of FIG. 5, in accordancewith an embodiment of the present invention.

DETAILED DESCRIPTION

The fast paced autonomous nature of present day industries requiresequally quick identification methods that allow for identification ofone or more objects, such as products of manufacture, to be carried outefficiently and effectively. As such, applying dynamic quick responsecode (QR) branding to an apparatus capable of receiving and sendingprogram instructions allows for a multitude of instructions andspecifications to be seamlessly integrated into various industrialprocesses by allowing the rapid configuration of QR codes. For example,QR codes allow autonomous machines to extract information regardingmanufacturing processes and specifications by reading QR codes labeledon different parts. In another example, QR codes allow for workers toquickly receive information regarding their tasks based on a specificconfiguration of a QR code and its link to an associated database ofinformation. As technological progress spurs industry to adoptincreasingly efficient methods of carrying out various tasks, dynamic QRcoding allows for a seamless and constant communication of informationto and between individuals and machines. Embodiments of the presentinvention recognize that dynamic QR code branding can increase theefficiency of information flow in industrial applications and allow forincreased automation in technically complex applications. Implementationof embodiments of the invention may take a variety of forms, andexemplary implementation details are discussed subsequently withreference to the Figures.

FIG. 1 depicts a QR bit head assembly, in accordance with an embodimentof the present invention. In this embodiment, QR bit head grid 102comprises one or more QR bits 104 arranged in parallel which act as aconduit for branding QR codes onto various substrates. In oneembodiment, QR bit 104 is adapted to receive electrical heatingelements. In yet another embodiment, QR bit 104 is adapted to receiveelectromagnetic actuator elements. For example, electromagnetic actuatorelements may be used for freeze branding applications to control theconfiguration of QR bits 104. In yet another embodiment, QR bit 104 isadapted to receive inductive heating elements. For example, QR bit 104may contain ferrous materials allowing for QR bit 104 to receiveinductive heating. In yet another embodiment, QR bit 104 may be adaptedto receive resistive heating elements. For example, QR bit 104 mayreceive radiative energy transfer from a resistive heating element. QRbit 104 may take any variety of physical forms and configurationsapplicable to QR patterns. In another embodiment, QR bit head grid 102may not comprise one or more QR bits 104 arrange in parallel. In anotherembodiment, QR bit head grid 102 may comprise a plurality of QR bits 104of different sizes and shapes in association with actuator grid assembly202 of FIG. 2, discussed below. For example, a QR code that does notrequire dynamic adaptation may be permanently formed into a unique QRbit 104, such as finder patterns. In another example, QR bits 104 may beshaped in such a way that potential thermal bleeding will not affect thereadability of neighboring QR bits 104 to ensure that the resultaccurately reflects the QR code.

FIG. 2 depicts an actuator grid assembly associated with a QR bit headgrid 102, in accordance with one embodiment of the present invention. Inthis embodiment, actuator grid assembly 202 comprises one or moreactuators 204 arranged in parallel and adjacent with respect to eachother and positioned adjacent to the posterior face of the QR bit headgrid 102. In some embodiments, actuator grid assembly 202 may bepermanently attached to one or more QR bits 104. In other embodiments,actuators 204 comprising actuator grid assembly 202 may be removablyattached to one or more QR bits 104. For example, actuators 204comprising actuator grid assembly 202 may be detached from QR bits 104for the purposes of changing the configuration of QR bit head grid 102.In yet other embodiments, actuators 204 comprising actuator gridassembly 202 may be permanently detached from QR bits 104. However,actuator grid assembly 202 may take any form that allows actuator gridassembly 202 to physically move QR bits 104, transfer energy to or fromQR bits 104, or both physically move and transfer energy to or from QRbits 104.

FIG. 3A depicts an actuator assembly, in accordance with one embodimentof the present invention. In the depicted embodiment, actuator assembly300 comprises actuator body 308, piston assembly 306, and QR bit 104.Additionally, actuator assembly 300 is capable of sending and receivingprogram instructions, such as status data and branding instructions, andchanging the configurations of one or more actuators 204 in response toreceiving program instructions. Actuator body 308 is adapted to receiveand to expel piston assembly 306. In an embodiment, piston assembly 306is permanently attached to QR bit 104. In yet another embodiment, pistonassembly 306 may be any compatible prismlike shape, such as arectangular prism or a triangular prism. If actuator body 308 and pistonassembly 306 are in the expelled configuration, then the configurationcomprising the actuator body with expelled piston assembly 306 isengaged actuator 304. If actuator body 308 and piston assembly 306 arein a configuration wherein actuator body 308 receives piston assembly306, then the configuration comprising the actuator body with receivedpiston assembly 306 is disengaged actuator 302. In another embodiment,actuator body 308 may not be adapted to receive piston assembly 306.Instead, piston assembly 306 is permanently in an expelled configurationwith respect to actuator body 308. In yet another embodiment, QR bit 104may be removably attached to the piston assembly 306. For example, QRbits 104 may take a variety of forms and be attached to one or morepiston assemblies 306 to dynamically adapt QR code configurations toparticular applications. In yet another embodiment, piston assembly 306may be removably attached to actuator body 308. For example, pistonassembly 306 may take a variety of forms, may be in a variety of shapes,and may be removed and replaced for particular applications such asfreeze branding, inductive heat branding, joule branding, and electricalbranding. In yet another embodiment, piston assembly 306 may not bepresent in actuator assembly 300 and may take any form allowing for thetransfer of heat to or from actuator body 308 and QR bit 104. Forexample, the transfer of heat may be transferred to QR bit 104 by a highintensity laser. In another example, the transfer of heat may be fromelectromagnetic induction.

FIG. 3B depicts an electrical QR bit heating mechanism 314 using acoiled wire, in accordance with one embodiment of the present invention.In the depicted embodiment, actuator body 308 and piston assembly 306act as a conduit for internal wire 310 which is attached to QR bit 104to provide electrical heating. Additionally, internal wire 310 is coiledto allow for internal wire 310 to fit inside actuator body 308 andpiston assembly 306 in both engaged actuator 304 and disengaged actuator302 configurations. In another embodiment, internal wire 310 may be anyform allowing for internal wire 310 to attach to QR bit 104. In yetanother embodiment, actuator assembly 300 may be permanently in theengaged configuration.

FIG. 3C depicts an electromagnetic actuator assembly 316 in accordancewith one embodiment of the present invention. In the depictedembodiment, magnetic core 310 is attached to QR bit 104 and surroundedby external coil 312. In the depicted embodiment, magnetic core 310 ismade of a ferromagnetic material such as iron. An electromagneticactuator assembly mechanism allows QR bits 104 to be selectivelydisengaged from a default engaged state by running a current throughexternal coil 312.

FIG. 4A depicts an inductive QR bit heating element 402, in accordancewith one embodiment of the present invention. In the depictedembodiment, actuator body 308, piston assembly 306, and QR bit 104couple with inductive heating element 402 which is in closest proximityto QR bit 104. In the depicted embodiment, QR bit 104 is a ferromagneticmaterial allowing inductive heating element 402 to increase thetemperature of QR bit 104. In another embodiment, heating element 402may heat QR bits 104 electrically. In yet another embodiment, pistonassembly 306 may be fixed with the actuator assembly 300 permanently inan engaged configuration, such as engaged actuator 304 in FIG. 3B.

FIG. 4B depicts a liquid nitrogen QR bit freeze branding element 404, inaccordance with one embodiment of the present invention. In the depictedembodiment, actuator body 308, piston assembly 306, and QR bit 104couple with liquid nitrogen cooling element 404, which is in closestproximity to QR bit 104. Liquid nitrogen cooling element 404 decreasesthe temperature of QR bit 104 for use in freeze branding applications,such as branding one or more products. In an embodiment, liquid nitrogenmay contact QR bits 104 and lower the temperature of QR bits 104.However, the invention described herein may be cooled by any meansavailable including evaporative heat transfer technologies commonly usedin refrigerators.

FIG. 4C depicts a resistive QR bit heating element 406, in accordancewith one embodiment of the present invention. In the depictedembodiment, actuator body 308, piston assembly 306, and QR bit 104couple with resistive heating element 406. Resistive heating element 406heats up and transfers heat to QR bit 104 for heat brandingapplications, such as branding food products, wood, and any othermaterial that can be heat branded. For example, resistive heatingelement 406 may heat up using an electrical heating system. In anotherembodiment, resistive heating element 406 may heat up using an openflame. However, resistive heating element 406 may heat up QR bits 104using any heating technique known in the art.

FIG. 5 is a functional block diagram illustrating a distributed dataprocessing environment, generally designated 500, in accordance with oneembodiment of the present invention. The term “distributed” as used inthis specification describes a computer system that includes multiple,physically distinct devices that operate together as a single computersystem. FIG. 5 provides only an illustration of one implementation anddoes not imply any limitations with regard to the environments in whichdifferent embodiments may be implemented. Many modifications to thedepicted environment may be made by those skilled in the art withoutdeparting from the scope of the invention as recited by the claims.

Distributed data processing environment 500 includes QR branding device504 and server computer 508, all interconnected over network 502.Network 502 can be, for example, a telecommunications network, a localarea network (LAN), a wide area network (WAN), such as the Internet, ora combination of the three, and can include wired, wireless, or fiberoptic connections. Network 502 can include one or more wired and/orwireless networks that are capable of receiving and transmitting data,voice, and/or video signals, including multimedia signals that includevoice, data, and video information. In general, network 502 can be anycombination of connections and protocols that will supportcommunications between QR branding device 504 and server computer 508,and other computing devices (not shown) within distributed dataprocessing environment 500.

QR branding device 504 can be a computer, a laptop computer, a tabletcomputer, a smart phone, or any programmable electronic device capableof communicating with various components and devices within distributeddata processing environment 500, via network 502. QR branding device 504may receive direct input from the user via user interface 506, which mayinclude input for managing supervised learning activities in machinelearning applications. For example, a user may input branding parametersbased on various categories such as the type of substrate being branded,the minimum darkness of the branded material, and the QR code. QRbranding device 504 may represent any programmable electronic device,pre-configured electronic device, or combination of programmable andpre-configured electronic devices capable of executing machine readableprogram instructions and communicating with other computing devices (notshown) within distributed data processing environment 500 via a network,such as network 502. In an embodiment, QR branding device 504 may belimited to communicating with other computing devices (not shown) withindistributed data processing environment 500 via a network, such asnetwork 502. In the depicted embodiment, QR branding device 504 includesan instance of user interface 506. In another embodiment, QR brandingdevice 504 does not include an instance of user interface 506.

User interface 506 provides an interface to QR configuration program 510on server computer 508 for a user of QR branding device 504. In oneembodiment, user interface 506 may be a graphical user interface (GUI)or a web user interface (WUI) and can display text, documents, webbrowser windows, user options, application interfaces, and instructionsfor operation, and include the information (such as graphic, text, andsound) that a program presents to a user and the control sequences theuser employs to control the program. In another embodiment, userinterface 506 may also be mobile application software that provides aninterface between a user of QR branding device 504 and server computer508. Mobile application software, or an “app,” is a computer programdesigned to run on smart phones, tablet computers and other mobiledevices. User interface 506 enables the user of QR branding device 504to register with server computer 508 to adjust preferences for QRbranding protocols, such as the temperature, the duration, the method ofheating, and configuration of QR bits 104. However, user interface 506is not limited to the aforementioned examples and may be used to controlany parameters associated with QR configuration program 510. In yetanother embodiment, server computer 508 may include an instance of userinterface 506.

Server computer 508 can be a standalone computing device, a managementserver, a web server, a mobile computing device, or any other electronicdevice or computing system capable of receiving, sending, and processingdata. In other embodiments, server computer 508 can represent a servercomputing system utilizing multiple computers as a server system, suchas in a cloud computing environment. In another embodiment, servercomputer 508 can be a laptop computer, a tablet computer, a netbookcomputer, a personal computer (PC), a desktop computer, a personaldigital assistant (PDA), a smart phone, or any other programmableelectronic device capable of communicating with QR branding device 504and other computing devices (not shown) within distributed dataprocessing environment 500 via network 502. For example, server computer508 may be a smart phone that is capable of remotely controlling andsending registration and configuration data to QR branding device 504.In another embodiment, server computer 508 represents a computing systemutilizing clustered computers and components (e.g., database servercomputers, application server computers, etc.) that act as a single poolof seamless resources when accessed within distributed data processingenvironment 500. In the depicted embodiment, server computer 508includes QR configuration program 510 and database 512. Server computer508 may include internal and external hardware components, as depictedand described in further detail with respect to FIG. 7.

QR configuration program 510 executes a series of steps to sendconfiguration parameters to QR branding device 504 to configure the QRbit head grid 102 for particular branding applications. QR configurationprogram 510 receives one or more QR configuration parameters. QRconfiguration program 510 determines one or more program instructions toachieve QR configuration parameters. QR configuration program 510 sendsthe one or more program instructions to a branding device, such as QRbranding device 504. QR configuration program 510 receives status dataassociated with QR branding device 504. If the QR branding device statusdata does not meet the one or more QR configuration parameters, then QRconfiguration program 510 adjusts one or more program instructions.Following the adjustment of the one or more program instructions, QRconfiguration program 510 sends the adjusted program instructions to QRbranding device 504. If QR branding device 504 status data meets the oneor more QR configuration parameters, then QR configuration program 510performs one or more actions. Actions may include removing the brandedsubstrate and replacing the branded substrate with an unbrandedsubstrate, sending the branded substrate to the next apparatus,recording data about QR branding device 504, and/or recording data aboutthe substrate on database 512. However, actions may include any actionrelevant to the application at hand, such as any action involved in thecontinuation or completion of the QR branding process.

Database 512 is a repository for data used by QR configuration program510. In the depicted embodiment, database 512 resides on server computer508. In another embodiment, database 512 may reside elsewhere withindistributed data processing environment 500 provided QR configurationprogram 510 has access to database 512. Database 512 can be implementedwith any type of storage device capable of storing data andconfiguration files that can be accessed and utilized by server computer508, such as a database server, a hard disk drive, or a flash memory. Insome embodiments, database 512 may store any data that QR configurationprogram 510 uses to determine one or more program instructions based onQR configuration parameters and sends to QR branding device 504 toexecute the one or more program instructions. For example, database 512may store parameters set by a user for use by QR configuration program510. In various embodiments, database 512 may store data received by QRconfiguration program 510 and registration information includingconfiguration data of QR configuration program 510 and QR brandingdevice 504.

FIG. 6 depicts operational steps for receiving QR configurationparameters for QR branding applications and sending program instructionsto QR branding device 504 within the computing environment of FIG. 5, inaccordance with an embodiment of the present invention. The operationalsteps of FIG. 6 begin when QR configuration program 510 receives QRconfiguration parameters. FIG. 6 as described herein is based on theoperational steps of QR configuration program 510 located outside of QRbranding device 504. However, alternative embodiments and configurationsmay execute the operational steps of QR configuration program 510. Insome embodiment, QR configuration program 510 may operate inside of QRbranding device 504.

QR configuration program 510 receives one or more configurationparameters (step 602). Configuration parameters may include anycombination of variables required to brand a QR code using a temperaturedifference between QR bits 104 and the substrate. Variables may includethe temperature of a heating or cooling element, the QR bit 104configurations, the heating method, the cooling method, theidentification of the substrate being branded, darkness or lightness ofthe branded QR code, the length of branding time, and the position ofactuators 204. However, the variables are not limited to the embodimentsdisclosed herein and may be any variables associated with QR brandingtechniques. The substrate may be any material that can be branded. Asubstrate may be cloth, leather, metal, wood, fur, plastic, animal hide,plant material, food products, or any combination of the listedsubstrates. However, the substrates are not limited to the materialslisted herein. In an embodiment, the one or more configurationparameters include the temperature, the QR bit configuration, and thelength of branding time. For example, QR configuration program 510 mayreceive configuration parameters to engage a specific configuration ofactuators 204 after heating QR bits 104 to a temperature of 700 degreesFahrenheit and keep actuators 204 engaged to contact a leather substratefor five seconds. In another example, QR configuration program 510 mayreceive configuration parameters to engage a specific configuration ofactuators 204 after cooling QR bits 104 to a temperature of −300 degreesFahrenheit and keep the actuators 204 engaged to freeze brand aparticular substrate for five seconds.

QR configuration program 510 determines one or more executable programinstructions to achieve the one or more configuration parameters (step604). In an embodiment, QR configuration program 510 may translate thereceived one or more configuration parameters to machine readableinstructions by identifying the actuators 204 designated labels, such asthe identifier for a particular actuator 204, in the program,communicating the desired temperature to a heating/cooling element, andengaging actuators 204 for a designated amount of time based ontask-specific factors. Task-specific factors may include substrateproperties, particular branding applications, and acceptable margins oferror. Task-specific factors may be derived by QR configuration program510 based on the task inputted by a user of QR branding device 504 inthe form of configuration parameters. For example, QR configurationprogram 510 may translate user-inputted configuration parametersrequiring a particular QR code configuration to be branded into aparticular type of leather at a rate of 100 per hour with a minimumlevel of light absorption (i.e., how dark the QR code is on thesubstrate) into a set of executable program instructions that instructactuator grid 202 to change the configuration of particular actuators204 to an engaged actuators 304, instruct resistive heating element 406to increase the output energy to 533.15 Kelvin, and instruct actuatorgrid 202 to keep engaged actuators 304 engaged for five seconds. As aresult, the set of executable program instructions will achieve theconfiguration parameters for task-specific factors such as the amount ofenergy required to change the molecular structure of the particular typeof leather, the amount of time required to brand the leather to thedesired darkness, and the amount of time allowed between consecutivebrands. In another embodiment, QR configuration program 510 may usesupervised learning classifiers to analyze substrates and the amount ofbrands to be completed per hour to determine task-specific factors, suchas factors associated with specific types of substrates, based onlabeled training examples to categorize the relationship between thesubstrate and the configuration parameters. For example, QRconfiguration program 510 may identify a substrate as a particular typeof leather and determine that leather falls into a category of heatbranding requiring QR bits 104 to be at least 500 degrees Fahrenheit fora minimum of five seconds in order to complete 100 brands per hour andallow for sufficiently quick reheating between brands.

QR configuration program 510 sends the one or more executable programinstructions to a QR branding device 504 (step 606). In one embodiment,QR configuration program 510 may send executable program instructionsvia network 502. For example, a user may input configuration parametersinto a laptop computer containing QR configuration program 510 whichwill subsequently send the executable program instructions associatedwith the input configuration parameters over network 502 to QR brandingdevice 504. Configuration parameters may include instructions to engageone or more QR bits 104 from a disengaged configuration. In anotherembodiment, configuration parameters may instruct electromagneticactuator assembly 316, discussed with respect to FIG. 3C, to disengageone or more QR bits 104 from an engaged configuration. For example, QRconfiguration program 510 may send program instructions to run a currentthrough external coil 312 creating a magnetic field on magnetic core 310to pull a corresponding QR bit 104 away from the substrate and thepattern to be branded remains nearest to the substrate for brandingapplications. As a result, QR configuration program 510 causeselectromagnetic actuator assembly 316 to selectively disengageparticular actuators 204 to create a desired QR code pattern in a freezebranding application. As actuators 204 disengage, QR bits 104 attachedto actuators 204 disengage and the remaining engaged QR bits 104 freezebrand some material. In other embodiments, QR bits 104 inelectromagnetic actuator assembly 316 may be keyed on the side furtheraway from the substrate to prevent rotation. In yet other embodiments,each QR bit 104 in QR bit head grid 102 may be individually shieldedfrom other QR bits 104 to prevent electromagnetic forces from actingupon neighboring QR bits 104.

In yet another embodiment, QR configuration program 510 may reside on QRbranding device 504 and a user may input configuration parametersthrough user interface 506. For example, a user may directly inputconfiguration parameters, such as the branding time, temperature, and QRbits 104 configuration, using a keyboard and mouse onto a computerconnected to QR bit head grid 102.

QR configuration program 510 receives status data associated with the QRbranding device 504 (step 608). Status data may be any informationassociated with QR branding device 504 and the general branding process.Status data may include the engaged or disengaged state of actuators204, the temperature of post-brand QR bits 104, the temperature of aheating/cooling element, and the length of brand time. In an embodiment,QR configuration program 510 may receive status data pertaining to thestate of actuators 204, the length of time actuators 204 were engaged,the temperature of QR bits 104, and the temperature of resistive heatingelement 406. For example, QR configuration program 510 may receivestatus data indicating that actuators 204 contacted the substrate, suchas leather, for ten seconds, the temperature of the post-brand QR bits104 are ten degrees below the designated temperature of 500 degreesFahrenheit, and the temperature of resistive heating element 406 is 500degrees Fahrenheit. In another embodiment, QR configuration program 510may receive status data pertaining to the engaged and/or the disengagedstate of actuators 204, the length of time actuators 204 were engaged,the temperature of QR bits 104, and the temperature of liquid nitrogencooling element 404. For example, QR configuration program 510 mayreceive status data indicating that actuators 204 contacted thesubstrate for ten seconds, the temperature of the post-brand QR bits 104are ten degrees above the designated temperature of −300 degreesFahrenheit, and the temperature of liquid nitrogen cooling element 404is −300 degrees Fahrenheit.

QR configuration program 510 determines that the status data associatedwith QR branding device 504 meets the one or more QR configurationparameters (“Yes” branch, decision block 610). QR configuration program510 may determine that the status data indicates that QR branding device504 meets the received QR configuration parameters and, as a result,branded the substrate correctly. In an embodiment, QR configurationprogram 510 receives status data indicating that the temperature of theQR bits 104 dropped by a sufficient number of degrees and that thecorrect actuators 204 engaged for a sufficient amount of time requiredto achieve the configuration parameters thereby allowing QRconfiguration program 510 to determine that the QR branding device 504achieved the configuration parameters. For example, QR configurationprogram 510 may receive status data that indicates that the temperatureof QR bits 104 dropped by ten degrees Fahrenheit and that engagedactuators 304 were in an expelled configuration for five seconds. As aresult, QR configuration program 510 may calculate that the drop intemperature of QR bits 104 means that sufficient energy transferred tobrand the substrate and the amount of time that actuators 204 were in anexpelled configuration as well as the drop in temperature of QR bits 104indicates physical contact with the substrate for five seconds. Thetransfer of energy based on changes in temperature may be calculatedusing thermodynamic principles of advection, conduction, convection, andradiation in a thermodynamic system based off the materials present inthe system. Different materials have known thermodynamic properties. Forexample, iron, steel, air at 32 degrees Fahrenheit, and dry leather havethermal conductivities of 79.5, 50.2, 0.024, and 0.14 Watts per meterKelvin, respectively. The thermodynamic algorithms associated with thecalculation of energy transfer may be input into the system by a userand modified depending on the application, such as when the substratechanges. QR branding device 504 may optionally contain a QR code readerto scan the branded QR code and relay the result to QR configurationprogram 510 to confirm a successful brand.

QR configuration program 510 determines that status data associated withQR branding device 504 does not meet the one or more QR configurationparameters (“No” branch, decision block 610). In an embodiment, QRconfiguration program 510 receives status data indicating that thetemperature of the QR bits 104 dropped by an insufficient number ofdegrees and that not all of the designated actuators 204 engaged for asufficient amount of time required to achieve the configurationparameters thereby allowing configuration program 510 to determine thatthe QR branding device 504 failed to achieve the configurationparameters. For example, QR configuration program 510 may receive statusdata that indicates that the temperature of QR bits 104 dropped by sixdegrees Fahrenheit and that some of the designated engaged actuators 304were in an expelled configuration for three seconds. As a result, QRconfiguration program 510 may calculate that the drop in temperature ofQR bits 104 means that insufficient energy transferred to brand thesubstrate, the amount of time that actuators 204 were in an expelledconfiguration as well as the drop in temperature of QR bits 104indicates physical contact with the substrate for an insufficient periodof time, and the failure to engage some actuators 204 to achieve the QRcode configuration. In other embodiments, QR configuration program 510may receive status data indicating that one of a plurality ofconfiguration parameters executed incorrectly and may thereforedetermine that QR branding device 504 did not meet one or more QRconfiguration parameters. In yet another embodiment, QR configurationprogram 510 may check for a minimum threshold of allowable error thatproduces a readable QR code. QR branding device 504 may optionallycontain a QR code reader to scan the branded QR code and relay theresult to QR configuration program 510 to confirm a successful brand.

If the status data associated with QR branding device 504 does not meetthe one or more QR configuration parameters (“No” branch, decision block610), then QR configuration program 510 adjusts one or more executableprogram instructions (step 614). In an embodiment, QR configurationprogram 510 adjusts the one or more machine readable instructions toinstruct QR branding device 504 to engage one or more previouslydisengaged actuators 302 and increase the temperature of a heatingelement. For example, QR configuration program 510 may instruct actuatorgrid 202 via QR branding device 504 to change the configuration ofparticular actuators 204 that failed to engage, instruct resistiveheating element 406 to increase the output energy by 75 Kelvin, andinstruct actuator grid 202 to keep previously disengaged actuators 302engaged for five seconds. In another embodiment, QR configurationprogram 510 adjusts the one or more machine readable instructions toinstruct QR branding device 504 to engage one or more previouslydisengaged actuators 302 and decrease the temperature of a coolingelement. For example, QR configuration program 510 may instruct actuatorgrid 202 to change the configuration of particular actuators 204 thatfailed to engage, instruct liquid nitrogen cooling element 404 todecrease thermal energy of the system by 75 Kelvin, and instructactuator grid 202 to keep previously disengaged actuators 302 engagedfor five seconds.

After adjusting the one or more executable program instructions (step614), QR configuration program sends the one or more adjusted executableprogram instructions to QR branding device 504 (step 606). In oneembodiment, QR configuration program 510 may send the adjustedexecutable program instructions via network 502. QR configurationprogram 510 may send the adjusted executable program instructionsmeeting the input configuration parameters over network 502 QR brandingdevice 504. In another embodiment, QR configuration program 510 mayreside on QR branding device 504 and QR configuration program may sendthe adjusted executable program instruction through a hardwareinterface. For example, QR configuration program 510 may be hardwired toQR branding device 504 and send the adjusted executable programinstructions directly through its circuitry.

If the status data associated with QR branding device 504 meets the oneor more QR configuration parameters, then QR configuration program 510performs an action (step 612). In one embodiment, QR configurationprogram 510 performs the action of sending instructions to raise engagedactuators 304 to a disengaged state. For example, if QR configurationprogram 510 determines that a piece of leather is branded correctly,then QR configuration program 510 halts the branding process by sendinginstructions to QR branding device 504 to return actuators 204 to adisengaged state. In another embodiment, QR configuration program 510sends instructions to QR branding device 504 to return engaged actuators304 to a disengaged state and also sends program instructions to one ormore devices (not shown) to place the next substrate under QR brandingdevice 504 for branding. For example, if QR configuration program 510determines that a first material is freeze branded correctly, then QRconfiguration program 510 sends program instructions to one or moredevices (not shown) to return engaged actuators 304 to a disengagedstate and place another product of the first material under QR brandinghead 504 for freeze branding.

After QR configuration program 510 performs an action, QR configurationprogram 510 ends. In another embodiment, QR configuration program 510may not end and may receive new QR configuration parameters. In yetanother embodiment, QR configuration program 510 may not end and maysend program instructions to QR branding device 504 to continue thebranding process. For example, QR configuration program 510 may sendprogram instructions to freeze brand the same QR code as previouslybranded on the further products.

FIG. 7 depicts a block diagram of components of server computer 508within distributed data processing environment 500 of FIG. 5, inaccordance with an embodiment of the present invention. It should beappreciated that FIG. 7 provides only an illustration of oneimplementation and does not imply any limitations with regard to theenvironments in which different embodiments can be implemented. Manymodifications to the depicted environment can be made.

Server computer 508 can include processor(s) 704, cache 714, memory 706,persistent storage 708, communications unit 710, input/output (I/O)interface(s) 712 and communications fabric 702. Communications fabric702 provides communications between cache 714, memory 706, persistentstorage 708, communications unit 710, and input/output (I/O)interface(s) 712. Communications fabric 702 can be implemented with anyarchitecture designed for passing data and/or control informationbetween processors (such as microprocessors, communications and networkprocessors, etc.), system memory, peripheral devices, and any otherhardware components within a system. For example, communications fabric702 can be implemented with one or more buses.

Memory 706 and persistent storage 708 are computer readable storagemedia. In this embodiment, memory 706 includes random access memory(RAM). In general, memory 706 can include any suitable volatile ornon-volatile computer readable storage media. Cache 714 is a fast memorythat enhances the performance of processor(s) 704 by holding recentlyaccessed data, and data near recently accessed data, from memory 706.

Program instructions and data used to practice embodiments of thepresent invention, e.g., QR configuration program 510 and database 512,are stored in persistent storage 708 for execution and/or access by oneor more of the respective processor(s) 704 of server computer 508 viacache 714. In this embodiment, persistent storage 708 includes amagnetic hard disk drive. Alternatively, or in addition to a magnetichard disk drive, persistent storage 708 can include a solid-state harddrive, a semiconductor storage device, a read-only memory (ROM), anerasable programmable read-only memory (EPROM), a flash memory, or anyother computer readable storage media that is capable of storing programinstructions or digital information.

The media used by persistent storage 708 may also be removable. Forexample, a removable hard drive may be used for persistent storage 708.Other examples include optical and magnetic disks, thumb drives, andsmart cards that are inserted into a drive for transfer onto anothercomputer readable storage medium that is also part of persistent storage708.

Communications unit 710, in these examples, provides for communicationswith other data processing systems or devices, including resources of QRbranding device 504. In these examples, communications unit 710 includesone or more network interface cards. Communications unit 710 may providecommunications through the use of either or both physical and wirelesscommunications links. QR configuration program 510, database 512, andother programs and data used for implementation of the presentinvention, may be downloaded to persistent storage 708 of servercomputer 508 through communications unit 710.

I/O interface(s) 712 allows for input and output of data with otherdevices that may be connected to server computer 508. For example, I/Ointerface(s) 712 may provide a connection to external device(s) 716 suchas a keyboard, a keypad, a touch screen, a microphone, a digital camera,and/or some other suitable input device. External device(s) 716 can alsoinclude portable computer readable storage media such as, for example,thumb drives, portable optical or magnetic disks, and memory cards.Software and data used to practice embodiments of the present invention,e.g., QR configuration program 510 and database 512 on server computer508, can be stored on such portable computer readable storage media andcan be loaded onto persistent storage 308 via I/O interface(s) 712. I/Ointerface(s) 712 also connect to a display 718.

Display 718 provides a mechanism to display data to a user and may be,for example, a computer monitor. Display 718 can also function as atouchscreen, such as a display of a tablet computer.

The programs described herein are identified based upon the applicationfor which they are implemented in a specific embodiment of theinvention. However, it should be appreciated that any particular programnomenclature herein is used merely for convenience, and thus theinvention should not be limited to use solely in any specificapplication identified and/or implied by such nomenclature.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be any tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, a special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, a segment, or aportion of instructions, which comprises one or more executableinstructions for implementing the specified logical function(s). In somealternative implementations, the functions noted in the blocks may occurout of the order noted in the Figures. For example, two blocks shown insuccession may, in fact, be executed substantially concurrently, or theblocks may sometimes be executed in the reverse order, depending uponthe functionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the invention.The terminology used herein was chosen to best explain the principles ofthe embodiment, the practical application or technical improvement overtechnologies found in the marketplace, or to enable others of ordinaryskill in the art to understand the embodiments disclosed herein.

What is claimed is:
 1. An apparatus for a reconfigurable quick response code branding assembly capable of receiving and sending program instructions, the apparatus comprising: an actuator assembly having a continuous sidewall defining an aperture allowing access to the interior of the actuator assembly, wherein the actuator assembly is adapted to receive a piston assembly and capable of executing one or more program instructions, wherein the actuator assembly is coupled to a motor, wherein the motor controls a position of the piston coupled to the actuator assembly, wherein the actuator assembly is attached to a proximal end of a wire at a side of the actuator assembly farthest from the bit, wherein the actuator assembly is not adapted to receive the piston assembly, and instead the piston assembly is permanently attached to a side of the actuator assembly closest to the bit; the piston assembly coupled to the actuator assembly, wherein the piston assembly is slidably disposed in the aperture which allows access to the interior of the actuator assembly and allows adjustments to be carried out substantially along one axis parallel to the continuous interior sidewall of the actuator assembly, wherein the piston assembly having a first aperture closest to the actuator assembly and a second aperture farthest from the actuator assembly on opposite ends, the first aperture and the second aperture connected by a continuous interior sidewall with respect to an exterior surface of the piston assembly defining an empty space acting as a conduit, wherein the wire enters the continuous interior sidewall through the first aperture and exits through the second aperture farthest from the actuator assembly; and a bit coupled to the piston assembly, wherein the bit moves substantially along one axis with the piston assembly in response to receiving program instructions associated with task-specific factors, wherein the bit is attached to a distal end of a wire closest to the bit, wherein an inductive heating element is coupled to the bit, wherein the inductive heating element allows an electromagnetic transfer of energy to the bit, wherein a liquid nitrogen cooling element is coupled to the bit, wherein the liquid nitrogen cooling element allows a transfer of energy from the bit, a resistive heating element is coupled to the bit, wherein the resistive heating element allows a transfer of energy to the bit, wherein the bit is made of a ferromagnetic material. 